home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / p2c / p2c.1.21a2.README < prev   
Encoding:
Text File  |  1994-11-22  |  4.8 KB  |  109 lines  |  [TEXT/????]

  1. This is p2c, the Pascal to C converter. To convert a Pascal file to C,
  2. drag it to p2c. If you are using MacOS 6.xx, you still have to double
  3. click p2c and select an input file.
  4.  
  5. This is version 1.21a2. The letter "a" marks it as a version currently in
  6. alpha test. This means that early development tests have been passed and
  7. the program is now in test for limited application. It is not considered
  8. bug free, even when compared with the usual humble standard of commercial
  9. software. Moreover the interface is subject to change:parameter names and
  10. overall user interface is not yet fixed.
  11. The trailing number shows you the rewrite number of this alpha test version.
  12. The program is not yet recommended for public usage. It is provided here
  13. for testing purposes only. Do not use unless you must. 
  14.  
  15. This version is compiled with -mc68020 and -model far. You need a Macintosh
  16. with 68020 or better (Mac II or better) to run it.
  17.  
  18. Make sure that all paths in the file "p2c preferences" are set 
  19. according to your local situation. In particular, make sure that {Pinterfaces} 
  20. is set correctly in the p2c preferences if you want to port from MPW. 
  21.  
  22. Some features of MPW Pascal are not yet or not yet completely supported in this 
  23. version. To avoid unnecessary warnings and error messages, it prepare 
  24. a cleaned-up version of the MPW files for use with p2c.
  25.  
  26. - conditional compilation: 
  27.     If the ReplaceBefore is specified in the preferences, string replacement is
  28.     done on every Pascal source line.  For example:
  29.  
  30.     ReplaceBefore "{$ifdef" "{EMBED #ifdef"
  31.     ReplaceBefore "{$endif}" "{EMBED #endif}"
  32.  
  33.     These lines rewrite MPW Pascal compile-time conditionals into
  34.     comments beginning with the special word EMBED.  This word instructs
  35.     p2c to format the rest of the comment without "/* */" delimiters, i.e., 
  36.     the rest of the comment is embedded directly in the output C program.  
  37.     There is also a ReplaceAfter option, which specifies replacements to be 
  38.     done on the output of p2c.
  39.  
  40.     Currently, this feature makes only  literal string replacements, not 
  41.     pattern-based matches. It is recommended to extract unconditional versions
  42.     of your source (using e.g. appropriate MPW tools) before using p2c.
  43.  
  44. - inline-statements in interface sections
  45.     MPW allows inline-implementations in the interface section of a unit,
  46.     as in
  47.         PROCEDURE Debugger;
  48.              INLINE $A9FF;
  49.     P2c will emit a warning. The warning can be turned off using the the
  50.     preferences setting.
  51.     
  52. - units without implementation section
  53.     MPW allows missing implementation sections. This version of P2c will 
  54.     complain if a unit has no implementation. To avoid this error message,
  55.     add an empty implementation section.
  56.     
  57. Backup your files.
  58.  
  59.  
  60. ************************************************************************************
  61. Author: G. Sawitzki, gs@statlab.uni-heidelberg.de
  62. Mail:   StatLab Heidelberg, Im Neuenheimer Feld 294, D 69120 Heidelberg
  63. This program is based on Dave Gillespie's UNIX p2c version 1.21. 
  64. All features of p2c are due to Dave Gillespie,  daveg@synaptics.com.
  65. All bugs not previously known are due to G. Sawitzki, StatLab Heidelberg.
  66.  
  67. This software is not in the public domain. It is unpublished work in progress.
  68. Part of the code is
  69.        © 1989,1990,1991 Free Software Foundation,
  70. with additonal copyrights by Dave Gillespie and G. Sawitzki
  71. ************************************************************************************
  72.  
  73.  
  74. When released, this program will be distributed in the hope that it will be useful,
  75. but WITHOUT ANY WARRANTY; without even the implied warranty of
  76. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  77.  
  78. ************************************************************************************
  79. In particular no liability is implied for mental damage resulting
  80. from intimate contact with C. 
  81.  
  82. ************************************************************************************
  83. To do
  84.  
  85. --------------------
  86. 1.21a2    object pascal bug fixes; support for $$SHELL()    
  87. 1.21a1    added object pascal support, conditional compilation, inline
  88.  
  89. 1.20a10    fixed the bug fix of 10a9. Introduced user variable PINTERFACES.
  90. 1.20a9    bug fixes in identification of input/output files
  91. 1.20a8    resource-based stand-alone version
  92. 1.20a4-a7    minor fixes    
  93. 1.20a3    search order for system configuration file is changed.
  94.         1. {P2CRC} if defined and exported
  95.         2. {prefsfolder}p2crc, if {prefsfolder} is defined and exported
  96.         3. {systemfolder}p2crc, if {systemfolder} is defined and exported
  97.         
  98.         changed meaning of -i:
  99.             -i    list configuration settings
  100.         -i now lists the configuration after both system and local
  101.         configuration file are evaluated. Other options are allowed on the
  102.         same line as -i, but no conversion takes place.
  103.         **** not yet complete ****
  104.         
  105. 1.20a2    added %I to configuration file string syntax.
  106.         expands to {Pinterfaces}
  107.         
  108. 1.20a1    initial release based on D. Gillespie's p2c 1.20.
  109.         Command syntax and messages changed to MPW conventions